It:Install
Questo file si basa sulla versione cvs-1.35 di INSTALL. This file based on cvs-1.35's INSTALL. =COME INSTALLARE Freeciv= ****************************************************** * Le note relative alla traduzione sono disponibili * * al termine del documento * ****************************************************** Questo file spiega come compilare ed installare Freeciv. Ci sono versioni tradotte del file INSTALL nella directory ./doc, chiamate /INSTALL. (per esempio questo file: it/INSTALL.it). Prerequisiti Freeciv ha i seguenti prerequisiti per l'installazione. * Sistema operativo Unix : E' richiesto un Sistema operativo Unix, un suo clone come Linux o FreeBSD, o altri sistemi operativi che permettano una personalizzazione Unix-like come EMX sotto OS/2 o Cygnus Cygwin sotto Windows; e' essenziale il supporto dei sockets TCP/IP cosi' come una shell compatibile Bourne-shell, come ad esempio la GNU "bash". (E' presente in quasi tutti gli Unix) * Compilatore ANSI C. : Freeciv e' stato scritto in ANSI C, cercando di rendere alta la sua portabilita'. Sono supportate le architetture 32 e 64 bit. Non si puo' utilizzare un compilatore "K&R C" o un compilatore C++ : Lo sviluppo di Freeciv e' stato condotto con "gcc", l'eccellente compilatore C del progetto GNU. Le versioni stabili possono essere compilate con gcc e molti altri compilatori (come il compilatore C "unbundled" per Solaris). : Le versioni instabili e le CVS snapshot non funzionano senza gcc, a meno che non usiate l'opzione "--disable-cvs-deps" con il configure. Ulteriori informazioni nelle sezioni successive. Nota che ci sono state segnalazioni che gcc con -O3 ha compilato Freeciv male. Nessun problema e' stato segnalato con -O2. * Un programma "make" : Gli sviluppatori di Freeciv usano in genere "gmake", il programma make del progetto GNU. : Le versioni ufficialmente rilasciate di Freeciv sono state progettate per lavorare con molti programmi "Make". Le versioni instabili e le CVS snapshot contengono dipendenze che utilizzano funzionalita' aggiuntive proprie di "gmake", quindi e' necesssario per la compilazione. : Puoi verificare l'installazione di GNU make nel tuo sistema digitando: $ make -v non dovesse funzionare, prova "gmake -v" : L' output deve contenere la scritta GNU make. La versione CVS ha dei prerequisiti addizionali. Una versione distribuita contiene i file generati. * I programmi della versione 0.10.38 o successive di GNU gettext. : In particolare il programma xgettext e' necessario per creare i file *.gmo che non sono inclusi nel CVS. * La versione 2.13 o successive di GNU autoconf. : Autoconf e' necessario per creare configure a partire da configure.in. * La versione 1.4 o successive di GNU automake. : Automake e' necessario per creare i vari Makefile.in dai file Makefile.am. Prerequisiti per il Client Il client puo' apparire in due diverse forme: una utilizzando l' "Athena widget library" ("Xaw"), l'altra usando le "Gtk+ widget library". Le due modalita' hanno differenti prerequisiti e sono spiegate separatamente. Il vostro sistema deve soddisfare per lo meno una dei due elenchi di prerequisiti. C'e' anche un client amiga nativo. Da notare che alcuni sistemi hanno pacchetti separati per la versione "runtime" delle librerie e per la versione di sviluppo. (per compilare i programmi che utilizzano quelle librerie). Per compilare Freeciv in uno di questi sistemi e' necessario disporre delle apposite librerie di sviluppo (development) installate correttamente. (Attenzione utenti Red Hat: questo messaggio e' proprio per voi! :-) Prerequisiti per il client Xaw * X-Windows. : Il client Xaw di Freeciv e un programma per X-Windows, da cio' si deduce che ci deve essere, in qualche maniera, XWindows installato. : Se il programma di configurazione non riesce a localizzare X Windows sul vostro sistema dovete utilizzare i parametri --x-includes=DIR e --x-libraries=DIR. * Le librerie widget "Athena". : Queste librerie (conosciute anche come "Xaw") sono normalmente incluse in X Windows, ma in alcune piattaforme (HP-UX 10 per esempio) sono fornite in forma limitata. : Per compilare il client utilizzando le librerie "Xaw" aggiungere "--enable-client=xaw" allo script di configurazione. Consultate le sezioni seguenti per ulteriori informazioni sullo script "configure". : Molti Unix moderni (come Linux) forniscono una variante denominata "Xaw3d", dotate di un moderno look tridimensionale. Se desiderate provare la compilazione con le Xaw3d, aggiungete il parametro "--with-xaw3d" allo script configure. : Esiste una ulteriore variante delle Xaw, chiamate Nextaw. Freeciv non funziona con queste librerie, comunque sarebbe possibile modificarlo cosi' come e' stato fatto per le Xaw3d. Un tool che puo' essere d'aiuto si chiama "xaw_wrappers", il come utilizzarlo non rientra negli scopi di questo documento. * Librerie "Xpm". : Queste librerie sono indispensabili per la manipolazione delle icone e delle immagini "bitmap". Sono largamente utilizzate, e sono supportate dalla maggior parte delle configurazioni, d'altro canto possono mancare nelle vecchie versioni di Unix come ad esempio Solaris. : Quando lancerete lo script "configure", potra' rendersi necessario l'utilizzo del parametro "--with-xpm-prefix=DIR" , dove DIR e' il nome della directory contenente le sotto directory "include" e "lib" ove risiede Xpm. : Se il processo di "configure" di Freeciv indicasse le librerie Xpm come mancanti le potete ottenere ai seguenti link: ftp://koala.inria.fr/pub/xpm/xpm-3.4k.tar.gz ftp://ftp.x.org/contrib/libraries/xpm-3.4k.tar.gz : Installatele come ogni altro pacchetto. Se non potete installarle nella directory di default, usate l'opzione --with-xpm-prefix come come descritto precedentemente. : Se riscontrate problemi installando le libXpm su Solaris, o se non desiderate installarle come root, controllate la sezione "Reinier's libXpm Solaris Installation Notes" alla fine del documento (disponibili solo in Inglese Ndt). Prerequisiti per il client Gtk+ * Librerie di utility "Glib". : Le librerie "Glib" forniscono funzioni non grafiche usate dalle librerie "Gdk" e "Gtk+". : Freeciv richiede una versione di "Glib" maggiore o uguale alla 1.2.1. : Se il configure di Freeciv vi informa che non sono installate, le potete ottenere al seguente link: ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz * Librerie "Gtk+". : Le librerie "Gtk+" sono state ideate per il grogramma GIMP; sono fornite abbinatamente alle "Gdk" e forniscono uno strato di astrazione sopra X Windows permettendo agevolmente l'implementazioni di semplici operazioni grafiche (come disegnare linee, finestre, ecc.) : Freeciv richiede una versione di "Gtk+" superiore o uguale alla 1.2.5. : In mancanza di cio' le potete ottenere al seguente link: ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-1.2.10.tar.gz * Librerie "Imlib". : Queste librerie sono essenziali per maneggiare immagini bitmap. Sono utilizzate anche nel progetto GNOME. : Freeciv richiede una versione delle "Imlib" superiore o uguale alla 1.9.2. : Le potete ottenere al seguente link: ftp://ftp.gnome.org/pub/GNOME/stable/sources/imlib/imlib-1.9.10.tar.gz : (La documentazione delle Imlib parlano di ulteriori dipendenze, non indispensabili, che permettono funzionalita' aggiuntive. Tali funzionalita' non sono utilizzate dal client di Freeciv). Se dovete installarle, perche' non previste nel sistema, installatele nel seguente ordine: Glib, Gtk+, Imlib. Generazione del Makefile per le versioni CVS Questo passo e' necessario solo per le versioni scaricate dal CVS. Per creare il file makefile basta scrivere: % ./autogen.sh Questo creera' lo script configure e lo eseguira'. Tutti i parametri di autogen.sh sono passati a configure. Leggi la sezione successiva al riguardo di quali parametri possono essere passati a configure. Generazione del Makefile per le versioni rilasciate Prima di compilare Freeciv, dovete generare il Makefile permettendo cosi' la personalizzazione del processo di compilazione a seconda della composizione del vostro sistema operativo. Questa configurazione e' ottenuta utilizzando lo script GNU "configure". Per utilizare "configure", spostatevi con "cd" nella directory contenente Freeciv e digitate: $ ./configure Questo script cerchera' di determinare la configurazione del sistema perparando il Makefile per la modalita' di compilazione piu' adatta. Se desiderate ulteriori informazioni o volete conoscere i vari parametri dello script consultate le pagine di Help digitando. $ ./configure --help Se state compilando una versione instabile o una snapshot CVS, e non avete GNU make e nemmeno GNU gcc, lanciate il configure con il parametro "--disable-cvs-deps". Dovete utilizzarlo anche se usate il cc e make del Solaris. Da notare che facendo cosi' viene disabilitato il controllo delle dipendenze. Se modificate un qualsiasi file ".h" dopo un configure con tale parametro dovete necessariamente eseguire un "make clean" prima del nuovo make per essere sicuri di una compilazione completa e corretta. "--disable-cvs-deps" non ha effetto su versioni "stable". Di default, lo script configure sceglie come client la versione Gtk+, sempre che trovi le librerie necessarie, altrimenti prova con la versione Xaw. Se volete utilizzare la versione client Xaw utilizzate l'opzione "--enable-client=xaw". Se desiderate cambiare le opzioni del comando configure potete settare la variabile CFLAGS prima di eseguirlo. Per esempio: $ CFLAGS="-O -g -pipe" ./configure utenti Bourne shell or bash oppure $ setenv CFLAGS "-O -g -pipe" $ ./configure utenti C shell or tcsh Se riscontrate un "core dump", vi suggeriamo sempre il parametro "-g" per la variabile CFLAGS. Quando, in seguito, installerete Freeciv, i componenti del gioco saranno copiati di default nella subdirectory /usr/local. Se desiderate utilizzare una diversa directory utilizzate il parametro --prefix="percorso" Esempio, nel caso di voler usare la directory /opt/freeciv: $ ./configure --prefix=/opt/freeciv Se per qualche ragione il comando configure creasse problemi seguite i seguenti passi: * Leggere attentamente la sezione prerequisiti per determinare se il vostro sistema li rispetta tutti. * Se state compilando la versione Gtk+ del client: Assicuratevi che le librerie Gtk+, Gdk, Glib & Imlib siano installate correttamente. Controllate che lo script configure le possa trovare installandole nella posizione standard o istruendo lo scritp con gli appropriati parametri. (Ulteriori informazioni con il comando ./configure --help) * Se state compilando la versione Xaw del client: Assicuratevi che le librerie Xpm and Xaw siano installate correttamente. Controllate che lo script configure le possa trovare installandole nella posizione standard o istruendo lo scritp con gli appropriati parametri. (Ulteriori informazioni con il comando ./configure --help) * Se incontrate problemi con il "gettext",leggete la sezione Native Language Support (NLS). * Informateci riguardo eventuali bug in modo da poterli correggere nelle versioni future!! : Informateci dei vostri problemi tramite la mailing list freeciv-dev (in Inglese Ndt), elencando i comandi che lanciate ed i messaggi di errore che riscontrate. Ci puo' essere di aiuto includere l'output dello script configure ed il contenuto dei file "config.status", "config.cache" e "config.log" che vengono generati dallo script configure. : Ulteriori informazioni riguardo la mailing list freeciv-dev presso il sito ufficiale del gioco: http://www.freeciv.org/ Da notare che dalla versione 1.7.2 abbiamo interrotto il supporto di Imake, e dalla versione 1.8.1 non includiamo piu' il file Makefile.noimake che contenteneva i configure falliti. Compilazione di Freeciv Se fino a questo punto e' andato tutto bene, occorre compilare Freeciv semplicemente digitando "make". Se incontrate problemi, consultate il file BUGS, seguendo le informazioni attentamente. Se incontrate problemi con il "gettext", leggete la sezione "Native Language Support" in coda al documento. Dopo la compilazione, i risultati importanti sono: * Gli eseguibili "client/civclient" e "server/civserver". * La directory "data/" contenente la grafica e gli scenari. * La directory "po/" contenente i file delle localizzazioni. * Gli script "civ" e "ser". E possibile anche giocare a Freeciv all'interno di questa directory, senza doverlo installare. Per far cio' gli scritp "civ" and "ser" sono predisposti a questo. Consultate il file README per ulteriori informazioni. (comunque non potete utilizzare lingue diverse dall'Inglese quando giocate a Freeciv dalla directory dell'installazione. Per il supporto multilingua e' necessaria l'installazione come spiegato nella sezione successiva) Installazione Installare Freeciv significa collocare al posto giusto le componenti descritte nella sezione Compilazione. Queste devono essere copiate in una directory come /usr/local (default), /usr/games, /usr/games/freeciv, /usr/local/freeciv, o altre directory di questo tipo. Digitando "make install" si dovrebbe installare tutto correttamente. Si puo' utilizzare l'opzione --prefix=DIR nel comando configure (vedi sezione "Generazione Makefile") per assicurarsi che i file vengano collocati nella giusta posizione. Quando il client ed il server sono in esecuzione necessitano entrambi l'utilizzo di molti file nella directori "data". Di default freeciv controlla in ordine nelle seguenti directory per ogni file di dati: directory corrente; la sottodirectory "data" della directory corrente; la sotto-directory ".freeciv" nella home directory utente; e la directory dove i files sono stai collocati lanciando "make install". Potete modificare questo elenco settando la variabile FREECIV_PATH, come unica directory o come elenco di directory. Esempio: $ setenv FREECIV_PATH "/usr/games/freeciv/data:./data" (per utenti di csh, tcsh, ecc.) $ FREECIV_PATH="/usr/games/freeciv/data:./data"; export FREECIV_PATH (per utenti di sh, bash, ksh, zsh, ecc.) Da notare, inoltre, che e' necessario installare Freeciv se intendete usare il "Native Language Support". Consultare il file README per ulteriori informazioni. Concludendo, se avete scelto di usare il client Xaw ed avete la password per loggarvi come 'root', sarebbe utile copiare i file risorsa localizzati in /data/Freeciv nella vostra "app-defaults" directory. (Normalmente e' /usr/lib/X11/app-defaults). Native Language Support (NLS) Freeciv utilizza il sistema "gettext" per il "Native Language Support". (Sistema che permette di creare programmi in versione multilingua; se state leggendo questo documento, molto probabilmente desiderate installare il gioco in lingua Italiana. Ndt) Se incontrate problemi con gettext nella fase di configurazione o compilazione ci possono essere modi per aggirare l'ostacolo; puoi provare con: 1. Se non avete bisogno del "Native Language Support", disabilitatelo utilizzando il parametro "--disable-nls" nel comando ./configure: % ./configure --disable-nls % make 2. Se desiderate il "Native Language Support", provate la versione di gettext inclusa con Freeciv indicando il parametro "--with-included-gettext" del comando ./configure: % ./configure --with-included-gettext % make 3. In ultimo provate ad installare l'ultima versione di GNU gettext. La potete ottenere al seguente link: ftp://ftp.gnu.org/pub/gnu/gettext/gettext-0.10.38.tar.gz Supporto per readline Freeciv ha un supporto opzionale per la libreria readline. Il supporto per readline e' cio' che fa si' che la line di comando si comporti in modo intelligente, rendendo possibile: * Usare il tasto backspace. * Usare il cursore per muoversi avanti ed indietro sulla linea che hai scritto. * Usare TAB per completare i comandi e gli argomenti dei comandi. Cioe' quando premi tab il server completa per te la parola se c'e' solo una possibile scelta. * Usare freecia su e giu per scorrere la lista dei comandi immessi in precedenza. * ecc. Lo script configure controlla se hai la libreria readline installata correttamente. In questo caso impostera' automaticamente i makefile in modo che readline sia compilata nel server. Altrimenti semplicemente configurera' silenziosamente senza il supporto per readline. Puoi forzare configure ad includere readline o morire provando passando a configure l'opzione --with-readline: % ./configure --with-readline Alcune distribuzioni di linux (e forse di altri sistemi operativi) hanno readline versione 4 installata non correttamente, quindi readline non e' impostata per dichiarare le proprie dipendenze dinamiche. In questo caso configure provera' ad indovinare di quali librerie in piu' deve fare il linking e le aggiungera'. Lo script configure mostrera' un messaggio di warning se deve aggiungere librerie in piu' per far funzionare readline. Questo dovrebbe essere innocuo, e' solo inteso come una nota per le persone che distribuiscono readline. :) Note di Reinier per l'installazione su Solaris Solaris (2.5 e superiore) ha la propria versione di X in /usr/openwin, la propria versione di make in /usr/ccs/bin/make e il proprio compilatore (da comprare separatamente) che, se presente, e' disponibile in /opt/SUNWspro/bin. Solaris non dispone della libreria XPM, che e' necessaria per il client Xaw; non dispone neanche di nulla di cio' che e' richiesto per imlib, gdk e gtk, necessari per compilare il client GTK+. Comunque, con un po' di pazienza, si puo' compilare tutto senza problemi. Per informazioni su come installare XPM su Solaris, vedere la sezione successiva. Molte installazioni di Solaris hanno anche X MIT (in genere in /usr/X11), make GNU, il compilatore gcc e la libreria XPM installati da qualche parte. Il comando standard "./configure && make" puo' non essere in grado di trovare la vostra libreria XPM e probabilmente confondera' le diverse versioni. Accertatevi che le variabili d'ambiente, soprattutto $PATH e $LD_LIBRARY_PATH, e le opzioni di ./configure non puntino ad un insieme di programmi inconsistente e la compilazione andra' a buon fine. Un modo semplice per compilare con X Sun, make Sun e cc Sun, supponendo che le librerie xpm siano gia' nella posizione non standard /percorso/di/xpm: % setenv PATH /opt/SUNWspro/bin:/usr/ccs/bin:/bin % unsetenv LD_LIBRARY_PATH % ./configure --with-xpm-prefix=/path/to/xpm --disable-cvs-deps --with-included-gettext % make L'argomento "--disable-cvs-deps" impedisce a ./configure di creare dei Makefile specifici per make GNU. I sintomi che questo sta avvenendo sono: make: Fatal error in reader: Makefile, line 214: = missing from replacement macro reference make: Fatal error: Command failed for target `all-recursive' Altrimenti si puo' impostare il $PATH e far usare a ./configure solo i tool GNU. Inoltre Freeciv puo' essere compilato con X MIT e con alcune combinazioni di tool GNU e Sun. Il modo esatto dipende dalla vostra particolare installazione. Note di Reinier per l'installazione di libXpm su Solaris Quando ero root sul mio sistema Solaris, non volevo *lo stesso* installare programmi di terze parti come root. E' una cattiva abitudine. Sfortunatamente la procedura di installazione di libXpm presuppone un'installazione in /usr/openwin, che e di proprieta' del root. Ma non e' poi cosi' difficile aggirare questo ostacolo. Avvertimenti: * assicurarsi che /usr/ucb/install sia nel $PATH prima di /usr/bin/install, altrimenti 'make install' si interrompera' con strani messaggi d'errore; * la destinazione in cui si vuole installare puo' essere scelta con $DESTDIR; comunque l'installazione avverra' in effetti in $DESTDIR/$OPENWINDIR, quindi la sottodirectory aggiuntiva $OPENWINDIR deve essere eliminata in seguito (cambiare il valore di $OPENWINHOME non funziona). La Procedura: * dopo aver ottenuto i sorgenti da qualche parte, scompattarli, entrare nella directory ed eseguire: % setenv DESTINAZIONEPERXPM /usr/local # o dove la si vuole installare % xmkmf; make Makefiles includes depend; make % setenv PATH /usr/local/bin:/usr/ucb:$PATH % make DESTDIR=$DESTINAZIONEPERXPM install % make DESTDIR=$DESTINAZIONEPERXPM install.man % cd $DESTINAZIONEPERXPM; mv ./$OPENWINHOME/* .; rm -rf ./$OPENWINHOME (se si usa sh, bash, ksh, zsh, ecc., i "setenv" sopra dovrebbero essere: % DESTINAZIONEPERXPM=/usr/local; export DESTINAZIONEPERXPM % PATH=/usr/local/bin:/usr/ucb:$PATH ); * ora si puo' configurare Freeciv con: % ./configure --with-xpm-prefix=$DESTINAZIONEPERXPM : che aggiungera' le opzioni -I/-L/-R appropiate ai comandi di compilazione e link. Note su Mac OS X e Darwin La versione di GCC della Apple usa dei file di intestazione precompilati che non supportano le macro vararg (una estensione GCC). Questo fa si' che GCC fallisca la compilazione di Freeciv, perche' il compilatore e' per il resto (per lo piu') indistinguibile dal GCC classico. Quindi invece del solito: % ./configure <...> si dovrebbe usare o: shell Bourne: $ CC="gcc -no-cpp-precomp" ./configure <...> oppure: shell C: % env CC="gcc -no-cpp-precomp" ./configure <...> a seconda che si usi una shell variante Bourne o C (se in dubbio, basta provarli entrambi e vedere quale dei due funziona). Si puo' sostituire <...> con qualsiasi argomento aggiuntivo si voglia passare a configure. Note su Debian GNU/Linux Per compilare Freeciv su un sistema debian c'e' bisogno dei seguenti pacchetti: : Requisiti comuni: : gcc : libc6-dev : libreadline4-dev : zlib1g-dev : xlib6g-dev : Per il client gtk: : gdk-imlib-dev : libglib1.2-dev : libgtk1.2-dev : imlib-progs : Per il client xaw: : xaw3dg-dev : libxpm4-dev Se si vuole compilare il client xaw, si dovrebbe passare a configure l'argomento --with-xaw3d, cioe': % ./configure --with-xaw3d Se c'e' bisogno di eseguire aclocal (se non sapete cosa sia aclocal, allora non ne avete bisogno) bisogna anche installare imlib-dev per avere la macro AM_PATH_GDK_IMLIB. E' un bug della debian che questa macro non sia presente in gdk-imlib-dev e sara' auspicabilmente aggiustato in future versioni della debian. Compilare freeciv nativo per Windows (win32) Prerequisiti: un ambiete unix con gcc e binutils per windows (mingw32) per il client win32 nativo: libz e libpng (da ftp://ftp.freeciv.org/pub/freeciv/requirements) Puoi usare i makefile gcc standard ma devi modificare le variabili CC e RANLIB appropriatamente. Autoconf e annessi: Se compili dalla versione CVS, devi anche sostituire ./configure con ./autogen.sh nelle istruzioni che troverai piu' sotto. Troverete probabilmente delle difficolta' con i percorsi (specialmente con localedir) se farete uso di Autoconf 2.52. E' quindi preferibile usare la versione 2.13. Configurare i file sorgente 1. Con le utility cygwin: Avrete bisogno dei pacchetti mingw e w32api. export CC="gcc -mno-cygwin" ./configure --with-included-gettext --prefix=. 2. Compilare con un vero Unix (Cross Compilation): Sostituite X con il numero che avete scelto al momento in cui avete installato il cross-compilatore. export CC=iX86-mingw32-gcc export AR=iX86-mingw32-ar export RANLIB=i386-mingw32-ranlib ./configure --host=iX86-mingw32 --build=$(./config.guess) --with-included-gettext --enable-client=win32 --prefix=. Compilare e installare make make DESTDIR=percorso_assoluto_in_cui_installare bindir=./install percorso_assoluto_in_cui_installare deve essere il percorso in cui volete installare freeciv. Deve essere un percorso assoluto e deve terminare con uno /. Ora e' il momento di ripulire le cose. Fate cd nella directory di installazione, poi controllate se gli eseguibili hanno il suffisso .exe e se lo desiderate, effettuate lo strip del codice oggetto. Vi suggeriamo di spostare la directory data: mv share/freeciv data Il passo finale e' quello di convertire la grafica nel formato png. Usate il programma di grafica da voi preferito per effettuare la conversione. Potete usare ad esempio ImageMagick assieme a pngquant. Ma cio' che e' veramente importante e che controlliate il risultato. Controllate ogni file. Il canale alpha (la trasparenza) spesso sparisce magicamente. Al momento purtroppo non ci sono script affidabili per la trasformazione. ---- Note per la traduzione in Italiano: Le note del traduttore sono segnate fra parentesi con 'Ndt'. Il traduttore non si assume nessuna responsabilita' per eventuali errori/omissioni nel presente documento. Comunicate eventuali inesattezze all'indirizzo email: slug-freeciv_AT_siena.linux.it o consultate l'indirizzo web: http://www.freeciv.it per eventuali aggiornamenti/revisioni. Category:Italiano